/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package CapaDatos;

import java.util.Comparator;
import java.util.Iterator;
import java.util.SortedSet;
import java.util.TreeSet;

/**
 *
 * @author Usuario
 */
public class ListaClientesOrdenadaPorNumReserva  {

    private SortedSet <Cliente> nodoCliente;
    private Comparator comparadorNumReservasCliente;



      public ListaClientesOrdenadaPorNumReserva()
    {

        comparadorNumReservasCliente = new ComparadorNumReservasCliente();
        nodoCliente = new TreeSet(comparadorNumReservasCliente);

    }



        public boolean agregarElemento(Object objeto)
    {
        Cliente elCliente = (Cliente) objeto;
        return nodoCliente.add(elCliente);
    }



    public boolean removerElemento(Object objeto)
    {
        Cliente elCliente = (Cliente) objeto;
        boolean encontrado = false;
        Cliente auxiliar = null;


        Iterator iterador = nodoCliente.iterator();


        while (!encontrado && iterador.hasNext())
        {

            auxiliar = (Cliente) iterador.next();

            if (elCliente.equals(auxiliar))
                encontrado = true;
        }


        if (encontrado)
        {
            if (nodoCliente.remove(auxiliar))
                return true;
        }

        return false;
    }

  public String imprimirColeccion()
    {
        String cadena = "";
        int i;
        Cliente registroCliente;

        Object [] arregloCliente;

        arregloCliente = nodoCliente.toArray();


        for(i=0 ; i<arregloCliente.length ; i++)
        {
            registroCliente = (Cliente) arregloCliente[i];
            cadena += "\nNombre: "+registroCliente.getNombre()+"\n"+
                      "Apellido: "+registroCliente.getApellido()+"\n"+
                      "Cedula: "+registroCliente.getCedula()+"\n"+
                      "Estado Civil "+registroCliente.getEdoCivil()+"\n"+
                      "Fecha de Nacimiento : "+registroCliente.getFechaNac()+"\n"+
                      "Sexo: "+registroCliente.getSexo()+"\n"+
                      "Numero de Reservas: "+registroCliente.getNumReservas()+"\n"+
                      "Nacionalidad: "+registroCliente.getNacionalidad()+"\n";

        }
       return cadena;
    }


}
